perm filename HIDE.LAP[900,BGB] blob sn#129593 filedate 1974-11-11 generic text, type T, neo UTF8
(SETQ IBASE (ADD1 7)) 
(DEFPROP ALL (NIL MAPPENDCAR INTER UNRES MMMM POINT-AND-ODD-VERTEX-IN-SAME-HALF-PLANE? CORNER-WITHIN-TRIANGLE? M}
APPENDLIST LISTASSOC DELETE GREATERPEQ CORNER-WITHIN-ANY-TRIANGLE? SPLIT-POLYGON-INTO-TRIANGLES MIDPOINT CHEAP-S}
PLICE ENDPOINTS-BEYOND-WINDOW? ENDPOINTS-WITHIN-WINDOW? IS-EACH-CORNER-OF-WINDOW-WITHIN-THE-POLYGON? IS-WINDOW-S}
URROUNDED-BY-CIRCUMSCRIBED-RECTANGLE? *LEAST *MOST LEAST MOST DETMAT SAMEPOINT? CLIP-LINE-SEGMENT XXXXXX NIL-BEY}
OND-DEPTH-BOUND SURROUNDS-WINDOW? ZDEPTH EXTREMA CLIP2 ENDPOINTS SET-INTERSECTION KRAMER SPLICE2 SPLICE1 ONCEONL}
Y ORDLOW UNRESOLVED SMALL? SIMPLE? TRIVAIL CLIP ABOVE HIDE-POLY SURROUND DIW-PROPERTY MAPORCAR IS-ANY-CORNER-OF-}
WINDOW-WITHIN-THE-POLYGON? WINDOW-IN-OPPOSITE-HALF-PLANE? OUTSIDE TWO-INTERSECTING-PLANES? FORM-NEW-EDGE TWO-POL}
Y-WITH-COMMON-EDGE ENDS-PROPERTY INITIALIZE-CIRCUMSCRIBED-RECTANGLE-PROPERTY INITIALIZE-PLANE-OF-POLYGON-PROPERT}
IES SUPERSPLICE2 SUPERSPLICE1 WARNOCK INITPOLY HIDDEN-LINE) VALUE) 
(LAP MAPPENDCAR SUBR) 
	(PUSH P 1)(PUSH P 2)(EXCH 1 2)(JUMPE 1 G0001)(HLRZ@ 1 0 P)(CALLF@ 1 -1 P)(HRRZ@ 2 0 P)
	(PUSH P 1)(MOVE 1 -2 P)(CALL 2 (E MAPPENDCAR))(MOVE 2 1)(POP P 1)(CALL 2 (E *APPEND))
G0002 
G0001 (SUB P (C 0 0 2 2))(POPJ P)
NIL 


(DEFPROP INTER (NIL) VALUE) 
(DEFPROP UNRES (NIL) VALUE) 
(LAP MMMM SUBR) 
	(JSP 6 SPECBIND)(0 1 (SPECIAL X))(0 2 (SPECIAL Y))(HLRZ@ 1 3)(CALL 1 (E CADR))(PUSH P 3)
	(CALL 2 (E *DIF))(MOVEI 2 (QUOTE 0.0))(CALL 2 (E *DIF))(HRRZ@ 2 0 P)(HLRZ@ 2 2)(HLRZ@ 2 2)
	(PUSH P 1)(HLRZ@ 1 -1 P)(HLRZ@ 1 1)(CALL 2 (E *DIF))(POP P 2)(CALL 2 (E *TIMES))(MOVE 2 (SPECIAL X))
	(PUSH P 1)(HLRZ@ 1 -1 P)(HLRZ@ 1 1)(CALL 2 (E *DIF))(MOVEI 2 (QUOTE 0.0))(CALL 2 (E *DIF))
	(HRRZ@ 2 -1 P)(HLRZ@ 2 2)(HRRZ@ 2 2)(HLRZ@ 2 2)(PUSH P 1)(HLRZ@ 1 -2 P)(CALL 1 (E CADR))
	(CALL 2 (E *DIF))(POP P 2)(CALL 2 (E *TIMES))(MOVE 2 1)(POP P 1)(SUB P (C 0 0 1 1))
	(CALL 2 (E *DIF))(JRST 0 SPECSTR)
NIL 


(LAP POINT-AND-ODD-VERTEX-IN-SAME-HALF-PLANE? SUBR) 
	(HRRZ@ 3 1)(MOVE 2 (SPECIAL Y))(PUSH P 1)(MOVE 1 (SPECIAL X))(CALL 3 (E MMMM))(HRRZ@ 3 0 P)
	(HLRZ@ 2 0 P)(HRRZ@ 2 2)(HLRZ@ 2 2)(PUSH P 1)(HLRZ@ 1 -1 P)(HLRZ@ 1 1)(CALL 3 (E MMMM))
	(POP P 2)(CALL 2 (E *TIMES))(CALL 1 (E MINUSP))(JUMPE 1 G0001)(TDZA 1 1)
G0001 (MOVEI 1 T)(SUB P (C 0 0 1 1))(POPJ P)
NIL 


(LAP CORNER-WITHIN-TRIANGLE? SUBR) 
	(PUSH P 1)(CALL 1 (E POINT-AND-ODD-VERTEX-IN-SAME-HALF-PLANE?))(JUMPE 1 G0002)(MOVE 1 0 P)
	(CALL 1 (E REVERSE))(CALL 1 (E POINT-AND-ODD-VERTEX-IN-SAME-HALF-PLANE?))(JUMPE 1 G0002)
	(HLRZ@ 1 0 P)(CALL 1 (E NCONS))(MOVE 2 1)(HRRZ@ 1 0 P)(CALL 2 (E *APPEND))(CALL 1 (E POINT-AND-ODD-VERTE}
X-IN-SAME-HALF-PLANE?))(JUMPN 1 G0001)
G0002 (TDZA 1 1)
G0001 (MOVEI 1 T)(SUB P (C 0 0 1 1))(POPJ P)
NIL 


(LAP MAPPENDLIST SUBR) 
	(PUSH P 1)(PUSH P 2)(EXCH 1 2)(JUMPE 1 G0001)(MOVE 1 0 P)(CALLF@ 1 -1 P)(HRRZ@ 2 0 P)
	(PUSH P 1)(MOVE 1 -2 P)(CALL 2 (E MAPPENDLIST))(MOVE 2 1)(POP P 1)(CALL 2 (E *APPEND))
G0002 
G0001 (SUB P (C 0 0 2 2))(POPJ P)
NIL 


(LAP LISTASSOC#1 SUBR) 
	(PUSH P 1)(CALL 1 (E NCONS))(HLRZ@ 2 0 P)(HLRZ@ 2 2)(SUB P (C 0 0 1 1))(JCALL 2 (E XCONS))
NIL 


(LAP LISTASSOC SUBR) 
	(MOVE 2 1)(MOVEI 1 (QUOTE LISTASSOC#1))(JCALL 2 (E MAPPENDCAR))
NIL 


(LAP DELETE SUBR) 
	(PUSH P 1)(PUSH P 2)(EXCH 1 2)(JUMPE 1 G0001)(HLRZ@ 1 0 P)(CAME 1 -1 P)(JRST 0 G0005)
	(MOVEI 1 (QUOTE NIL))(JRST 0 G0004)
G0005 (HLRZ@ 1 0 P)(CALL 1 (E NCONS))
G0007 
G0004 (HRRZ@ 2 0 P)(PUSH P 1)(MOVE 1 -2 P)(CALL 2 (E DELETE))(MOVE 2 1)(POP P 1)(CALL 2 (E *APPEND))
G0002 
G0001 (SUB P (C 0 0 2 2))(POPJ P)
NIL 


(LAP GREATERPEQ SUBR) 
	(PUSH P 1)(PUSH P 2)(PUSH P 3)(JSP 6 SPECBIND)(0 1 (SPECIAL X))(0 2 (SPECIAL Y))(JUMPE 1 G0004)
	(CALL 2 (E *GREAT))(JUMPE 1 G0004)(MOVE 2 (SPECIAL Y))(JRST 0 G0003)
G0004 (MOVEI 2 (QUOTE NIL))
G0003 (PUSHJ P SPECSTR)(PUSH P 2)(MOVE 2 -1 P)(POP P 1)(CALL 2 (E *GREAT))(JUMPN 1 G0001)
	(MOVE 2 -1 P)(MOVE 1 -2 P)(CALL 2 (E EQUAL))(JUMPN 1 G0001)(MOVE 2 0 P)(MOVE 1 -1 P)
	(CALL 2 (E EQUAL))(JUMPN 1 G0001)(TDZA 1 1)
G0001 (MOVEI 1 T)(SUB P (C 0 0 3 3))(POPJ P)
NIL 


(LAP CORNER-WITHIN-ANY-TRIANGLE? SUBR) 
	(JSP 6 SPECBIND)(0 1 (SPECIAL TRIANGLE-LIST))(0 2 (SPECIAL X))(0 3 (SPECIAL Y))(JUMPE 1 G0001)
	(HLRZ@ 1 1)(CALL 1 (E CORNER-WITHIN-TRIANGLE?))(JUMPE 1 G0002)(MOVEI 1 (QUOTE T))
	(JRST 0 G0001)
G0002 (MOVE 3 (SPECIAL Y))(MOVE 2 (SPECIAL X))(HRRZ@ 1 (SPECIAL TRIANGLE-LIST))(CALL 3 (E CORNER-WITHIN-ANY-TRIA}
NGLE?))
G0005 
G0001 (JRST 0 SPECSTR)
NIL 


(LAP SPLIT-POLYGON-INTO-TRIANGLES#1 SUBR) 
	(PUSH P 1)(CALL 1 (E LENGTH))(MOVEI 2 (QUOTE 3))(CALL 2 (E *LESS))(JUMPE 1 G0002)
	(MOVEI 1 (QUOTE NIL))(JRST 0 G0001)
G0002 (MOVE 1 0 P)(CALL 1 (E LAST))(HRRZ@ 2 0 P)(HLRZ@ 2 2)(CALL 2 (E XCONS))(HLRZ@ 2 0 P)
	(CALL 2 (E XCONS))(CALL 1 (E NCONS))
G0005 
G0001 (SUB P (C 0 0 1 1))(POPJ P)
NIL 


(LAP SPLIT-POLYGON-INTO-TRIANGLES#2 SUBR) 
	(MOVEI 2 (QUOTE IMAGE))(JCALL 2 (E GET))
NIL 


(LAP SPLIT-POLYGON-INTO-TRIANGLES SUBR) 
	(MOVEI 2 (QUOTE CORNERS))(MOVE 1 (SPECIAL POLYGON))(CALL 2 (E GET))(EXCH 2 1)(MOVEI 1 (QUOTE SPLIT-POLYG}
ON-INTO-TRIANGLES#2))(CALL 2 (E MAPCAR))(MOVE 2 1)(MOVEI 1 (QUOTE SPLIT-POLYGON-INTO-TRIANGLES#1))
	(CALL 2 (E MAPPENDLIST))(MOVEM 1 (SPECIAL TRIANGLE-LIST))(POPJ P)
NIL 


(LAP MIDPOINT SUBR) 
	(JSP 6 SPECBIND)(0 1 (SPECIAL LINE))(HRRZ@ 2 1)(HLRZ@ 2 2)(CALL 1 (E CAAR))(CALL 2 (E *PLUS))
	(MOVEI 2 (QUOTE 2))(CALL 2 (E *QUO))(HRRZ@ 2 (SPECIAL LINE))(HRRZ@ 2 2)(PUSH P 1)
	(HLRZ@ 1 (SPECIAL LINE))(HRRZ@ 1 1)(CALL 2 (E *PLUS))(MOVEI 2 (QUOTE 2))(CALL 2 (E *QUO))
	(POP P 2)(CALL 2 (E XCONS))(JRST 0 SPECSTR)
NIL 


(LAP CHEAP-SPLICE SUBR) 
	(PUSH P 1)(PUSH P 2)(JUMPN 1 G0002)(EXCH 1 2)(JRST 0 G0001)
G0002 (JUMPN 2 G0003)(JRST 0 G0001)
G0003 (HRRZ@ 2 0 P)(HLRZ@ 1 -1 P)(CALL 2 (E CONS))
G0004 
G0001 (SUB P (C 0 0 2 2))(POPJ P)
NIL 


(LAP ENDPOINTS-BEYOND-WINDOW? SUBR) 
	(MOVE 2 (SPECIAL XHIGH))(HLRZ@ 1 (SPECIAL LINE))(HLRZ@ 1 1)(CALL 2 (E *GREAT))(JUMPE 1 G0003)
	(MOVE 2 (SPECIAL XHIGH))(HRRZ@ 1 (SPECIAL LINE))(HLRZ@ 1 1)(CALL 2 (E *GREAT))(JUMPN 1 G0001)
G0003 (MOVE 2 (SPECIAL YHIGH))(HLRZ@ 1 (SPECIAL LINE))(HRRZ@ 1 1)(CALL 2 (E *GREAT))(JUMPE 1 G0008)
	(MOVE 2 (SPECIAL YHIGH))(HRRZ@ 1 (SPECIAL LINE))(HRRZ@ 1 1)(CALL 2 (E *GREAT))(JUMPN 1 G0001)
G0008 (MOVE 2 (SPECIAL XLOW))(HLRZ@ 1 (SPECIAL LINE))(HLRZ@ 1 1)(CALL 2 (E *LESS))(JUMPE 1 G0013)
	(MOVE 2 (SPECIAL XLOW))(HRRZ@ 1 (SPECIAL LINE))(HLRZ@ 1 1)(CALL 2 (E *LESS))(JUMPN 1 G0001)
G0013 (MOVE 2 (SPECIAL YLOW))(HLRZ@ 1 (SPECIAL LINE))(HRRZ@ 1 1)(CALL 2 (E *LESS))(JUMPE 1 G0018)
	(MOVE 2 (SPECIAL YLOW))(HRRZ@ 1 (SPECIAL LINE))(HRRZ@ 1 1)(CALL 2 (E *LESS))(JUMPN 1 G0001)
G0018 (TDZA 1 1)
G0001 (MOVEI 1 T)(POPJ P)
NIL 


(LAP ENDPOINTS-WITHIN-WINDOW? SUBR) 
	(MOVE 3 (SPECIAL XLOW))(HLRZ@ 2 (SPECIAL LINE))(HLRZ@ 2 2)(MOVE 1 (SPECIAL XHIGH))
	(CALL 3 (E GREATERPEQ))(JUMPE 1 G0002)(MOVE 3 (SPECIAL XLOW))(HRRZ@ 2 (SPECIAL LINE))
	(HLRZ@ 2 2)(MOVE 1 (SPECIAL XHIGH))(CALL 3 (E GREATERPEQ))(JUMPE 1 G0002)(MOVE 3 (SPECIAL YLOW))
	(HLRZ@ 2 (SPECIAL LINE))(HRRZ@ 2 2)(MOVE 1 (SPECIAL YHIGH))(CALL 3 (E GREATERPEQ))
	(JUMPE 1 G0002)(MOVE 3 (SPECIAL YLOW))(HRRZ@ 2 (SPECIAL LINE))(HRRZ@ 2 2)(MOVE 1 (SPECIAL YHIGH))
	(CALL 3 (E GREATERPEQ))(JUMPN 1 G0001)
G0002 (TDZA 1 1)
G0001 (MOVEI 1 T)(POPJ P)
NIL 


(LAP IS-EACH-CORNER-OF-WINDOW-WITHIN-THE-POLYGON? SUBR) 
	(JSP 6 SPECBIND)(0 0 (SPECIAL TRIANGLE-LIST))(CALL 0 (E SPLIT-POLYGON-INTO-TRIANGLES))
	(MOVE 3 (SPECIAL YLOW))(MOVE 2 (SPECIAL XLOW))(MOVE 1 (SPECIAL TRIANGLE-LIST))(CALL 3 (E CORNER-WITHIN-A}
NY-TRIANGLE?))(JUMPE 1 G0006)(MOVE 3 (SPECIAL YHIGH))(MOVE 2 (SPECIAL XLOW))(MOVE 1 (SPECIAL TRIANGLE-LIST))
	(CALL 3 (E CORNER-WITHIN-ANY-TRIANGLE?))(JUMPE 1 G0006)(MOVE 3 (SPECIAL YLOW))(MOVE 2 (SPECIAL XHIGH))
	(MOVE 1 (SPECIAL TRIANGLE-LIST))(CALL 3 (E CORNER-WITHIN-ANY-TRIANGLE?))(JUMPE 1 G0006)
	(MOVE 3 (SPECIAL YHIGH))(MOVE 2 (SPECIAL XHIGH))(MOVE 1 (SPECIAL TRIANGLE-LIST))(CALL 3 (E CORNER-WITHIN}
-ANY-TRIANGLE?))(JUMPN 1 G0005)
G0006 (TDZA 1 1)
G0005 (MOVEI 1 T)(JRST 0 SPECSTR)
NIL 


(LAP IS-WINDOW-SURROUNDED-BY-CIRCUMSCRIBED-RECTANGLE? SUBR) 
	(MOVEI 2 (QUOTE XHIGH))(MOVE 1 (SPECIAL POLYGON))(CALL 2 (E GET))(MOVE 2 (SPECIAL XHIGH))
	(CALL 2 (E *GREAT))(JUMPE 1 G0002)(MOVEI 2 (QUOTE YHIGH))(MOVE 1 (SPECIAL POLYGON))
	(CALL 2 (E GET))(MOVE 2 (SPECIAL YHIGH))(CALL 2 (E *GREAT))(JUMPE 1 G0002)(MOVEI 2 (QUOTE XLOW))
	(MOVE 1 (SPECIAL POLYGON))(CALL 2 (E GET))(MOVE 2 (SPECIAL XLOW))(CALL 2 (E *LESS))
	(JUMPE 1 G0002)(MOVEI 2 (QUOTE YLOW))(MOVE 1 (SPECIAL POLYGON))(CALL 2 (E GET))(MOVE 2 (SPECIAL YLOW))
	(CALL 2 (E *LESS))(JUMPN 1 G0001)
G0002 (TDZA 1 1)
G0001 (MOVEI 1 T)(POPJ P)
NIL 


(LAP *LEAST SUBR) 
	(PUSH P 1)(PUSH P 2)(JUMPN 2 G0002)(JRST 0 G0001)
G0002 (HLRZ@ 2 2)(CALL 2 (E *GREAT))(JUMPE 1 G0003)(HRRZ@ 2 0 P)(HLRZ@ 1 0 P)(CALL 2 (E *LEAST))
	(JRST 0 G0001)
G0003 (HRRZ@ 2 0 P)(MOVE 1 -1 P)(CALL 2 (E *LEAST))
G0009 
G0001 (SUB P (C 0 0 2 2))(POPJ P)
NIL 


(LAP *MOST SUBR) 
	(PUSH P 1)(PUSH P 2)(JUMPN 2 G0002)(JRST 0 G0001)
G0002 (HLRZ@ 2 2)(CALL 2 (E *LESS))(JUMPE 1 G0003)(HRRZ@ 2 0 P)(HLRZ@ 1 0 P)(CALL 2 (E *MOST))
	(JRST 0 G0001)
G0003 (HRRZ@ 2 0 P)(MOVE 1 -1 P)(CALL 2 (E *MOST))
G0009 
G0001 (SUB P (C 0 0 2 2))(POPJ P)
NIL 


(LAP LEAST SUBR) 
	(MOVE 2 1)(MOVEI 1 (QUOTE 77777777777))(JCALL 2 (E *LEAST))
NIL 


(LAP MOST SUBR) 
	(MOVE 2 1)(MOVEI 1 (QUOTE -77777777777))(JCALL 2 (E *MOST))
NIL 


(LAP DETMAT SUBR) 
	(PUSH P 1)(HLRZ@ 1 1)(PUSH P 2)(HRRZ@ 2 3)(HRRZ@ 2 2)(HLRZ@ 2 2)(PUSH P 1)(HRRZ@ 1 -1 P)
	(HLRZ@ 1 1)(PUSH P 3)(CALL 2 (E *TIMES))(HRRZ@ 2 -2 P)(HRRZ@ 2 2)(HLRZ@ 2 2)(PUSH P 1)
	(HRRZ@ 1 -1 P)(HLRZ@ 1 1)(CALL 2 (E *TIMES))(MOVE 2 1)(POP P 1)(CALL 2 (E *DIF))(MOVEI 2 (QUOTE 0.0))
	(CALL 2 (E *DIF))(MOVE 2 -1 P)(CALL 2 (E *TIMES))(MOVEM 1 -1 P)(HLRZ@ 1 -2 P)(CALL 1 (E MINUS))
	(HRRZ@ 2 0 P)(HRRZ@ 2 2)(HLRZ@ 2 2)(PUSH P 1)(HRRZ@ 1 -4 P)(HLRZ@ 1 1)(CALL 2 (E *TIMES))
	(HRRZ@ 2 -4 P)(HRRZ@ 2 2)(HLRZ@ 2 2)(PUSH P 1)(HRRZ@ 1 -2 P)(HLRZ@ 1 1)(CALL 2 (E *TIMES))
	(MOVE 2 1)(POP P 1)(CALL 2 (E *DIF))(POP P 2)(CALL 2 (E *TIMES))(MOVE 2 -1 P)(CALL 2 (E *PLUS))
	(MOVEM 1 -1 P)(HLRZ@ 1 0 P)(HRRZ@ 2 -2 P)(HRRZ@ 2 2)(HLRZ@ 2 2)(MOVEM 1 0 P)(HRRZ@ 1 -3 P)
	(HLRZ@ 1 1)(CALL 2 (E *TIMES))(HRRZ@ 2 -3 P)(HRRZ@ 2 2)(HLRZ@ 2 2)(MOVEM 1 -3 P)(HRRZ@ 1 -2 P)
	(HLRZ@ 1 1)(CALL 2 (E *TIMES))(MOVE 2 1)(EXCH 1 -3 P)(CALL 2 (E *DIF))(POP P 2)(CALL 2 (E *TIMES))
	(POP P 2)(SUB P (C 0 0 2 2))(JCALL 2 (E *PLUS))
NIL 


(LAP SAMEPOINT? SUBR) 
	(PUSH P 1)(PUSH P 2)(HLRZ@ 2 2)(HLRZ@ 1 1)(CALL 2 (E *DIF))(CALL 1 (E ABS))(MOVEI 2 (QUOTE 1.0))
	(CALL 2 (E *LESS))(JUMPE 1 G0002)(HRRZ@ 2 0 P)(HRRZ@ 1 -1 P)(CALL 2 (E *DIF))(CALL 1 (E ABS))
	(MOVEI 2 (QUOTE 1.0))(CALL 2 (E *LESS))(JUMPN 1 G0001)
G0002 (TDZA 1 1)
G0001 (MOVEI 1 T)(SUB P (C 0 0 2 2))(POPJ P)
NIL 


(LAP CLIP-LINE-SEGMENT SUBR) 
	(JSP 6 SPECBIND)(0 1 (SPECIAL LINE))(CALL 0 (E ENDPOINTS-WITHIN-WINDOW?))(JUMPE 1 G0002)
	(MOVE 1 (SPECIAL LINE))(JRST 0 G0001)
G0002 (CALL 0 (E ENDPOINTS-BEYOND-WINDOW?))(JUMPE 1 G0004)(MOVEI 1 (QUOTE NIL))(JRST 0 G0001)
G0004 (HRRZ@ 2 (SPECIAL LINE))(HLRZ@ 1 (SPECIAL LINE))(CALL 2 (E SAMEPOINT?))(JUMPE 1 G0006)
	(MOVEI 1 (QUOTE NIL))(JRST 0 G0001)
G0006 (HLRZ@ 1 (SPECIAL LINE))(PUSH P 1)(MOVE 1 (SPECIAL LINE))(CALL 1 (E MIDPOINT))(POP P 2)
	(CALL 2 (E XCONS))(CALL 1 (E CLIP-LINE-SEGMENT))(PUSH P 1)(MOVE 1 (SPECIAL LINE))
	(CALL 1 (E MIDPOINT))(HRRZ@ 2 (SPECIAL LINE))(CALL 2 (E CONS))(CALL 1 (E CLIP-LINE-SEGMENT))
	(MOVE 2 1)(POP P 1)(CALL 2 (E CHEAP-SPLICE))
G0010 
G0001 (JRST 0 SPECSTR)
NIL 


(LAP XXXXXX SUBR) 
	(PUSH P 1)(PUSH P 2)(JUMPN 1 G0002)(EXCH 1 2)(JRST 0 G0001)
G0002 (MOVE 2 0 P)(MOVE 1 -1 P)(CALL 2 (E CONS))
G0003 
G0001 (SUB P (C 0 0 2 2))(POPJ P)
NIL 


(LAP NIL-BEYOND-DEPTH-BOUND SUBR) 
	(JSP 6 SPECBIND)(0 1 (SPECIAL POLYGON))(MOVEI 2 (QUOTE DIW))(CALL 2 (E GET))(HLRZ@ 2 1)
	(MOVE 1 (SPECIAL DEPTH-BOUND))(CALL 2 (E *LESS))(JUMPE 1 G0002)(MOVEI 1 (QUOTE NIL))
	(JRST 0 G0001)
G0002 (MOVE 1 (SPECIAL POLYGON))(CALL 1 (E NCONS))
G0006 
G0001 (JRST 0 SPECSTR)
NIL 


(LAP SURROUNDS-WINDOW? SUBR) 
	(JSP 6 SPECBIND)(0 1 (SPECIAL POLYGON))(CALL 0 (E IS-WINDOW-SURROUNDED-BY-CIRCUMSCRIBED-RECTANGLE?))
	(JUMPE 1 G0002)(CALL 0 (E IS-EACH-CORNER-OF-WINDOW-WITHIN-THE-POLYGON?))(JUMPN 1 G0001)
G0002 (TDZA 1 1)
G0001 (MOVEI 1 T)(JRST 0 SPECSTR)
NIL 


(LAP ZDEPTH SUBR) 
	(JSP 6 SPECBIND)(0 1 (SPECIAL X))(0 2 (SPECIAL Y))(MOVEI 2 (QUOTE A))(MOVE 1 (SPECIAL POLYGON))
	(CALL 2 (E GET))(MOVE 2 (SPECIAL X))(CALL 2 (E *TIMES))(MOVE 2 1)(MOVEI 1 (QUOTE 100.0))
	(CALL 2 (E *DIF))(MOVEI 2 (QUOTE B))(PUSH P 1)(MOVE 1 (SPECIAL POLYGON))(CALL 2 (E GET))
	(MOVE 2 (SPECIAL Y))(CALL 2 (E *TIMES))(MOVE 2 1)(POP P 1)(CALL 2 (E *DIF))(MOVEI 2 (QUOTE C))
	(PUSH P 1)(MOVE 1 (SPECIAL POLYGON))(CALL 2 (E GET))(EXCH 2 1)(POP P 1)(CALL 2 (E *QUO))
	(JRST 0 SPECSTR)
NIL 


(LAP EXTREMA SUBR) 
	(PUSH P 1)(CALL 1 (E LEAST))(EXCH 1 0 P)(CALL 1 (E MOST))(POP P 2)(JCALL 2 (E XCONS))
NIL 


(LAP CLIP2#1 SUBR) 
	(MOVEI 2 (QUOTE ENDS))(PUSH P 1)(CALL 2 (E GET))(CALL 1 (E CLIP-LINE-SEGMENT))(MOVE 2 (SPECIAL VIEWNAME)}
)(PUSH P 1)(MOVE 1 -1 P)(CALL 2 (E GET))(EXCH 2 1)(POP P 1)(CALL 2 (E XXXXXX))(MOVE 3 (SPECIAL VIEWNAME))
	(MOVE 2 1)(POP P 1)(JCALL 3 (E PUTPROP))
NIL 


(LAP CLIP2 SUBR) 
	(MOVEI 2 (QUOTE EDGEZ))(HLRZ@ 1 (SPECIAL POLYGON-LIST))(CALL 2 (E GET))(EXCH 2 1)
	(MOVEI 1 (QUOTE CLIP2#1))(JCALL 2 (E MAPC))
NIL 


(LAP ENDPOINTS SUBR) 
	(PUSH P 2)(MOVEI 2 (QUOTE A))(PUSH P 1)(CALL 2 (E GET))(MOVEI 2 (QUOTE C))(PUSH P (C 0 0 (QUOTE NIL)))
	(PUSH P (C 0 0 (QUOTE NIL)))(PUSH P (C 0 0 (QUOTE NIL)))(PUSH P 1)(MOVE 1 -4 P)(CALL 2 (E GET))
	(EXCH 2 1)(POP P 1)(CALL 2 (E *QUO))(MOVEI 2 (QUOTE A))(PUSH P 1)(MOVE 1 -5 P)(CALL 2 (E GET))
	(MOVEI 2 (QUOTE C))(PUSH P 1)(MOVE 1 -6 P)(CALL 2 (E GET))(EXCH 2 1)(POP P 1)(CALL 2 (E *QUO))
	(MOVE 2 1)(POP P 1)(CALL 2 (E *DIF))(MOVEI 2 (QUOTE B))(MOVEM 1 0 P)(MOVE 1 -3 P)
	(CALL 2 (E GET))(MOVEI 2 (QUOTE C))(PUSH P 1)(MOVE 1 -4 P)(CALL 2 (E GET))(EXCH 2 1)
	(POP P 1)(CALL 2 (E *QUO))(MOVEI 2 (QUOTE B))(PUSH P 1)(MOVE 1 -5 P)(CALL 2 (E GET))
	(MOVEI 2 (QUOTE C))(PUSH P 1)(MOVE 1 -6 P)(CALL 2 (E GET))(EXCH 2 1)(POP P 1)(CALL 2 (E *QUO))
	(MOVE 2 1)(POP P 1)(CALL 2 (E *DIF))(MOVEI 2 (QUOTE C))(EXCH 1 -3 P)(CALL 2 (E GET))
	(EXCH 2 1)(MOVEI 1 (QUOTE 100.0))(CALL 2 (E *QUO))(MOVEI 2 (QUOTE C))(EXCH 1 -4 P)
	(CALL 2 (E GET))(EXCH 2 1)(MOVEI 1 (QUOTE 100.0))(CALL 2 (E *QUO))(MOVE 2 1)(EXCH 1 -4 P)
	(CALL 2 (E *DIF))(MOVEM 1 -2 P)(MOVE 1 0 P)(CALL 1 (E ABS))(MOVEM 1 -4 P)(MOVE 1 -3 P)
	(CALL 1 (E ABS))(MOVE 2 -4 P)(CALL 2 (E *LESS))(JUMPE 1 G0024)(MOVEI 2 (QUOTE 511.0))
	(MOVE 1 -3 P)(CALL 2 (E *TIMES))(MOVE 2 1)(MOVE 1 -2 P)(CALL 2 (E *DIF))(MOVE 2 0 P)
	(CALL 2 (E *QUO))(MOVEI 2 (QUOTE 511.0))(CALL 2 (E CONS))(MOVEI 2 (QUOTE -511.0))
	(MOVEM 1 -4 P)(MOVE 1 -3 P)(CALL 2 (E *TIMES))(MOVE 2 1)(MOVE 1 -2 P)(CALL 2 (E *DIF))
	(MOVE 2 0 P)(CALL 2 (E *QUO))(MOVEI 2 (QUOTE -511.0))(CALL 2 (E CONS))(MOVE 2 -4 P)
	(CALL 2 (E XCONS))(JRST 0 G0001)
G0024 (MOVEI 2 (QUOTE 511.0))(MOVE 1 0 P)(CALL 2 (E *TIMES))(MOVE 2 1)(MOVE 1 -2 P)(CALL 2 (E *DIF))
	(MOVE 2 -3 P)(CALL 2 (E *QUO))(MOVEI 2 (QUOTE 511.0))(CALL 2 (E XCONS))(MOVEI 2 (QUOTE -511.0))
	(MOVEM 1 -4 P)(MOVE 1 0 P)(CALL 2 (E *TIMES))(MOVE 2 1)(MOVE 1 -2 P)(CALL 2 (E *DIF))
	(MOVE 2 -3 P)(CALL 2 (E *QUO))(MOVEI 2 (QUOTE -511.0))(CALL 2 (E XCONS))(MOVE 2 -4 P)
	(CALL 2 (E XCONS))(JRST 0 G0001)
G0038 (MOVEI 1 (QUOTE NIL))
G0001 (SUB P (C 0 0 5 5))(POPJ P)
NIL 


(LAP SET-INTERSECTION SUBR) 
	(PUSH P (C 0 0 (QUOTE NIL)))(PUSH P 1)(PUSH P 2)
G0001 (MOVE 1 -1 P)(JUMPN 1 G0006)(MOVE 1 -2 P)(JRST 0 G0002)
G0006 (MOVE 2 0 P)(HLRZ@ 1 -1 P)(CALL 2 (E MEMBER))(JUMPE 1 G0010)(MOVE 2 -2 P)(HLRZ@ 1 -1 P)
	(CALL 2 (E CONS))(MOVEM 1 -2 P)
G0010 (HRRZ@ 1 -1 P)(MOVEM 1 -1 P)(JRST 0 G0001)
G0002 (SUB P (C 0 0 3 3))(POPJ P)
NIL 


(LAP KRAMER SUBR) 
	(PUSH P 1)(HLRZ@ 1 3)(PUSH P 2)(CALL 1 (E NCONS))(HLRZ@ 2 0 P)(CALL 2 (E XCONS))(HLRZ@ 2 -1 P)
	(CALL 2 (E XCONS))(PUSH P 1)(HRRZ@ 1 3)(HLRZ@ 1 1)(CALL 1 (E NCONS))(HRRZ@ 2 -1 P)
	(HLRZ@ 2 2)(CALL 2 (E XCONS))(HRRZ@ 2 -2 P)(HLRZ@ 2 2)(CALL 2 (E XCONS))(PUSH P 1)
	(HRRZ@ 1 3)(CALL 1 (E CADR))(CALL 1 (E NCONS))(HRRZ@ 2 -2 P)(HRRZ@ 2 2)(HLRZ@ 2 2)
	(CALL 2 (E XCONS))(HRRZ@ 2 -3 P)(HRRZ@ 2 2)(HLRZ@ 2 2)(CALL 2 (E XCONS))(MOVE 3 1)
	(MOVE 2 0 P)(MOVEM 1 -2 P)(MOVE 1 -1 P)(CALL 3 (E DETMAT))(MOVEM 1 -3 P)(MOVEI 1 (QUOTE 100.0))
	(CALL 1 (E NCONS))(MOVEI 2 (QUOTE 100.0))(CALL 2 (E XCONS))(MOVEI 2 (QUOTE 100.0))
	(CALL 2 (E XCONS))(PUSH P 1)(MOVE 3 -3 P)(MOVE 2 -1 P)(CALL 3 (E DETMAT))(MOVE 2 -4 P)
	(CALL 2 (E *QUO))(MOVE 3 -3 P)(MOVE 2 0 P)(PUSH P 1)(MOVE 1 -3 P)(CALL 3 (E DETMAT))
	(MOVE 2 -5 P)(CALL 2 (E *QUO))(MOVE 3 -1 P)(MOVE 2 -2 P)(PUSH P 1)(MOVE 1 -4 P)(CALL 3 (E DETMAT))
	(MOVE 2 -6 P)(CALL 2 (E *QUO))(CALL 1 (E NCONS))(POP P 2)(CALL 2 (E XCONS))(POP P 2)
	(SUB P (C 0 0 5 5))(JCALL 2 (E XCONS))
NIL 


(LAP SPLICE2 SUBR) 
	(JSP 6 SPECBIND)(0 1 (SPECIAL LINE))(PUSH P 2)(JUMPN 1 G0002)(EXCH 1 2)(JRST 0 G0001)
G0002 (JUMPN 2 G0003)(CALL 1 (E NCONS))(JRST 0 G0001)
G0003 (HLRZ@ 2 2)(HLRZ@ 2 2)(HLRZ@ 1 1)(CALL 2 (E EQUAL))(JUMPE 1 G0005)(HLRZ@ 2 0 P)(HRRZ@ 2 2)
	(HRRZ@ 1 (SPECIAL LINE))(CALL 2 (E CONS))(HRRZ@ 2 0 P)(CALL 2 (E SPLICE2))(JRST 0 G0001)
G0005 (HLRZ@ 2 0 P)(HRRZ@ 2 2)(HLRZ@ 1 (SPECIAL LINE))(CALL 2 (E EQUAL))(JUMPE 1 G0014)(HLRZ@ 2 0 P)
	(HLRZ@ 2 2)(HRRZ@ 1 (SPECIAL LINE))(CALL 2 (E CONS))(HRRZ@ 2 0 P)(CALL 2 (E SPLICE2))
	(JRST 0 G0001)
G0014 (HLRZ@ 2 0 P)(HLRZ@ 2 2)(HRRZ@ 1 (SPECIAL LINE))(CALL 2 (E EQUAL))(JUMPE 1 G0023)(HLRZ@ 2 0 P)
	(HRRZ@ 2 2)(HLRZ@ 1 (SPECIAL LINE))(CALL 2 (E CONS))(HRRZ@ 2 0 P)(CALL 2 (E SPLICE2))
	(JRST 0 G0001)
G0023 (HLRZ@ 2 0 P)(HRRZ@ 2 2)(HRRZ@ 1 (SPECIAL LINE))(CALL 2 (E EQUAL))(JUMPE 1 G0032)(HLRZ@ 2 0 P)
	(HLRZ@ 2 2)(HLRZ@ 1 (SPECIAL LINE))(CALL 2 (E CONS))(HRRZ@ 2 0 P)(CALL 2 (E SPLICE2))
	(JRST 0 G0001)
G0032 (HLRZ@ 1 0 P)(HRRZ@ 2 0 P)(PUSH P 1)(MOVE 1 (SPECIAL LINE))(CALL 2 (E SPLICE2))(POP P 2)
	(CALL 2 (E XCONS))
G0041 
G0001 (SUB P (C 0 0 1 1))(JRST 0 SPECSTR)
NIL 


(LAP SPLICE1 SUBR) 
	(JSP 6 SPECBIND)(0 1 (SPECIAL LINE))(PUSH P 2)(JUMPN 1 G0002)(EXCH 1 2)(JRST 0 G0001)
G0002 (JUMPN 2 G0003)(CALL 1 (E NCONS))(JRST 0 G0001)
G0003 (HLRZ@ 2 2)(HLRZ@ 2 2)(HLRZ@ 1 1)(CALL 2 (E SAMEPOINT?))(JUMPE 1 G0005)(HLRZ@ 2 0 P)
	(HRRZ@ 2 2)(HRRZ@ 1 (SPECIAL LINE))(CALL 2 (E CONS))(HRRZ@ 2 0 P)(CALL 2 (E SPLICE1))
	(JRST 0 G0001)
G0005 (HLRZ@ 2 0 P)(HRRZ@ 2 2)(HLRZ@ 1 (SPECIAL LINE))(CALL 2 (E SAMEPOINT?))(JUMPE 1 G0014)
	(HLRZ@ 2 0 P)(HLRZ@ 2 2)(HRRZ@ 1 (SPECIAL LINE))(CALL 2 (E CONS))(HRRZ@ 2 0 P)(CALL 2 (E SPLICE1))
	(JRST 0 G0001)
G0014 (HLRZ@ 2 0 P)(HLRZ@ 2 2)(HRRZ@ 1 (SPECIAL LINE))(CALL 2 (E SAMEPOINT?))(JUMPE 1 G0023)
	(HLRZ@ 2 0 P)(HRRZ@ 2 2)(HLRZ@ 1 (SPECIAL LINE))(CALL 2 (E CONS))(HRRZ@ 2 0 P)(CALL 2 (E SPLICE1))
	(JRST 0 G0001)
G0023 (HLRZ@ 2 0 P)(HRRZ@ 2 2)(HRRZ@ 1 (SPECIAL LINE))(CALL 2 (E SAMEPOINT?))(JUMPE 1 G0032)
	(HLRZ@ 2 0 P)(HLRZ@ 2 2)(HLRZ@ 1 (SPECIAL LINE))(CALL 2 (E CONS))(HRRZ@ 2 0 P)(CALL 2 (E SPLICE1))
	(JRST 0 G0001)
G0032 (HLRZ@ 1 0 P)(HRRZ@ 2 0 P)(PUSH P 1)(MOVE 1 (SPECIAL LINE))(CALL 2 (E SPLICE1))(POP P 2)
	(CALL 2 (E XCONS))
G0041 
G0001 (SUB P (C 0 0 1 1))(JRST 0 SPECSTR)
NIL 


(LAP ONCEONLY SUBR) 
	(PUSH P (C 0 0 (QUOTE NIL)))(PUSH P 1)
G0001 (MOVE 1 0 P)(JUMPN 1 G0006)(MOVE 1 -1 P)(CALL 1 (E REVERSE))(JRST 0 G0002)
G0006 (HRRZ@ 2 0 P)(HLRZ@ 1 0 P)(CALL 2 (E MEMBER))(JUMPN 1 G0011)(MOVE 2 -1 P)(HLRZ@ 1 0 P)
	(CALL 2 (E CONS))(MOVEM 1 -1 P)
G0011 (HRRZ@ 1 0 P)(MOVEM 1 0 P)(JRST 0 G0001)
G0002 (SUB P (C 0 0 2 2))(POPJ P)
NIL 


(LAP ORDLOW SUBR) 
	(PUSH P 1)(HRRZ@ 2 1)(HLRZ@ 2 2)(CALL 1 (E CAAR))(CALL 2 (E *GREAT))(JUMPE 1 G0002)
	(HLRZ@ 2 0 P)(HRRZ@ 1 0 P)(CALL 2 (E CONS))(JRST 0 G0001)
G0002 (MOVE 1 0 P)
G0009 
G0001 (SUB P (C 0 0 1 1))(POPJ P)
NIL 


(LAP UNRESOLVED SUBR) 
	(MOVE 1 (SPECIAL POLYGON-LIST))(JUMPN 1 G0002)(MOVE 2 (SPECIAL YLOW))(MOVE 1 (SPECIAL XLOW))
	(CALL 2 (E CONS))(MOVE 2 (SPECIAL INTER))(CALL 2 (E CONS))(MOVEM 1 (SPECIAL INTER))
	(JRST 0 G0001)
G0002 (MOVE 2 (SPECIAL YLOW))(MOVE 1 (SPECIAL XLOW))(CALL 2 (E CONS))(MOVE 2 (SPECIAL UNRES))
	(CALL 2 (E CONS))(MOVEM 1 (SPECIAL UNRES))
G0005 
G0001 (POPJ P)
NIL 


(LAP SMALL? SUBR) 
	(MOVE 2 (SPECIAL XLOW))(MOVE 1 (SPECIAL XHIGH))(CALL 2 (E *DIF))(MOVEI 2 (QUOTE 1))
	(JCALL 2 (E *LESS))
NIL 


(LAP SIMPLE? SUBR) 
	(MOVE 1 (SPECIAL ABOVE-LIST))(CALL 1 (E LENGTH))(MOVEI 2 (QUOTE 2))(CALL 2 (E *LESS))
	(JUMPE 1 G0002)(MOVE 1 (SPECIAL SURROUNDERS-LIST))(CALL 1 (E LENGTH))(MOVEI 2 (QUOTE 2))
	(CALL 2 (E *LESS))(JUMPE 1 G0002)(MOVE 2 (SPECIAL POLYGON-LIST))(MOVE 1 (SPECIAL ABOVE-LIST))
	(CALL 2 (E EQUAL))(JUMPN 1 G0001)
G0002 (TDZA 1 1)
G0001 (MOVEI 1 T)(POPJ P)
NIL 


(LAP TRIVAIL SUBR) 
	(MOVE 1 (SPECIAL POLYGON-LIST))(JUMPN 1 G0002)(MOVE 1 (SPECIAL SURROUNDERS-LIST))
	(CALL 1 (E LENGTH))(MOVEI 2 (QUOTE 2))(CALL 2 (E *LESS))(JUMPN 1 G0001)
G0002 (TDZA 1 1)
G0001 (MOVEI 1 T)(POPJ P)
NIL 


(LAP CLIP#1 SUBR) 
	(MOVEI 2 (QUOTE ENDS))(PUSH P 1)(CALL 2 (E GET))(CALL 1 (E CLIP-LINE-SEGMENT))(MOVE 2 (SPECIAL VIEWNAME)}
)(PUSH P 1)(MOVE 1 -1 P)(CALL 2 (E GET))(EXCH 2 1)(POP P 1)(CALL 2 (E XXXXXX))(MOVE 3 (SPECIAL VIEWNAME))
	(MOVE 2 1)(POP P 1)(JCALL 3 (E PUTPROP))
NIL 


(LAP CLIP SUBR) 
	(MOVEI 2 (QUOTE EDGES))(HLRZ@ 1 (SPECIAL POLYGON-LIST))(CALL 2 (E GET))(EXCH 2 1)
	(MOVEI 1 (QUOTE CLIP#1))(JCALL 2 (E MAPC))
NIL 


(LAP ABOVE#1 SUBR) 
	(MOVEI 2 (QUOTE DIW))(JCALL 2 (E GET))
NIL 


(LAP ABOVE#2 SUBR) 
	(JSP 6 SPECBIND)(0 1 (SPECIAL POLYGON))(MOVEI 2 (QUOTE DIW))(CALL 2 (E GET))(MOVE 2 (SPECIAL DEPTH-BOUND}
))(HRRZ@ 1 1)(CALL 2 (E *LESS))(JUMPE 1 G0003)(MOVE 1 (SPECIAL POLYGON))(CALL 1 (E NCONS))
	(JRST 0 G0002)
G0003 (MOVEI 1 (QUOTE NIL))
G0008 
G0002 (JRST 0 SPECSTR)
NIL 


(LAP ABOVE SUBR) 
	(JSP 6 SPECBIND)(0 0 (SPECIAL DEPTH-BOUND))(MOVE 2 (SPECIAL SURROUNDERS-LIST))(MOVEI 1 (QUOTE ABOVE#1))
	(CALL 2 (E MAPCAR))(MOVE 2 1)(MOVEI 1 (QUOTE CAR))(CALL 2 (E MAPCAR))(CALL 1 (E LEAST))
	(MOVEM 1 (SPECIAL DEPTH-BOUND))(MOVE 2 (SPECIAL POLYGON-LIST))(MOVEI 1 (QUOTE ABOVE#2))
	(CALL 2 (E MAPPENDCAR))(MOVEM 1 (SPECIAL ABOVE-LIST))(MOVEI 1 (QUOTE NIL))(JRST 0 SPECSTR)
NIL 


(LAP HIDE-POLY#1 SUBR) 
	(MOVEI 2 (QUOTE DIW))(JCALL 2 (E GET))
NIL 


(LAP HIDE-POLY SUBR) 
	(JSP 6 SPECBIND)(0 0 (SPECIAL DEPTH-BOUND))(MOVE 2 (SPECIAL SURROUNDERS-LIST))(MOVEI 1 (QUOTE HIDE-POLY#}
1))(CALL 2 (E MAPCAR))(MOVE 2 1)(MOVEI 1 (QUOTE CDR))(CALL 2 (E MAPCAR))(CALL 1 (E LEAST))
	(MOVEM 1 (SPECIAL DEPTH-BOUND))(MOVE 2 (SPECIAL SURROUNDERS-LIST))(MOVEI 1 (QUOTE NIL-BEYOND-DEPTH-BOUND}
))(CALL 2 (E MAPPENDCAR))(MOVEM 1 (SPECIAL SURROUNDERS-LIST))(MOVE 2 (SPECIAL POLYGON-LIST))
	(MOVEI 1 (QUOTE NIL-BEYOND-DEPTH-BOUND))(CALL 2 (E MAPPENDCAR))(MOVEM 1 (SPECIAL POLYGON-LIST))
	(MOVEI 1 (QUOTE NIL))(JRST 0 SPECSTR)
NIL 


(LAP SURROUND#1 SUBR) 
	(JSP 6 SPECBIND)(0 1 (SPECIAL POLYGON))(CALL 1 (E SURROUNDS-WINDOW?))(JUMPE 1 G0002)
	(MOVE 2 (SPECIAL SURROUNDERS-LIST))(MOVE 1 (SPECIAL POLYGON))(CALL 2 (E CONS))(MOVEM 1 (SPECIAL SURROUND}
ERS-LIST))(MOVEI 1 (QUOTE NIL))(JRST 0 G0001)
G0002 (MOVE 1 (SPECIAL POLYGON))(CALL 1 (E NCONS))
G0005 
G0001 (JRST 0 SPECSTR)
NIL 


(LAP SURROUND SUBR) 
	(MOVE 2 (SPECIAL POLYGON-LIST))(MOVEI 1 (QUOTE SURROUND#1))(CALL 2 (E MAPPENDCAR))
	(MOVEM 1 (SPECIAL POLYGON-LIST))(POPJ P)
NIL 


(LAP DIW-PROPERTY#1 SUBR) 
	(JSP 6 SPECBIND)(0 1 (SPECIAL POLYGON))(MOVE 2 (SPECIAL YLOW))(MOVE 1 (SPECIAL XLOW))
	(PUSH P (SPECIAL POLYGON))(CALL 2 (E ZDEPTH))(MOVE 2 (SPECIAL YLOW))(PUSH P 1)(MOVE 1 (SPECIAL XHIGH))
	(CALL 2 (E ZDEPTH))(MOVE 2 (SPECIAL YHIGH))(PUSH P 1)(MOVE 1 (SPECIAL XHIGH))(CALL 2 (E ZDEPTH))
	(MOVE 2 (SPECIAL YHIGH))(PUSH P 1)(MOVE 1 (SPECIAL XLOW))(CALL 2 (E ZDEPTH))(CALL 1 (E NCONS))
	(POP P 2)(CALL 2 (E XCONS))(POP P 2)(CALL 2 (E XCONS))(POP P 2)(CALL 2 (E XCONS))
	(CALL 1 (E EXTREMA))(MOVEI 3 (QUOTE DIW))(MOVE 2 1)(POP P 1)(CALL 3 (E PUTPROP))(JRST 0 SPECSTR)
NIL 


(LAP DIW-PROPERTY SUBR) 
	(MOVE 2 (SPECIAL SURROUNDERS-LIST))(MOVE 1 (SPECIAL POLYGON-LIST))(CALL 2 (E *APPEND))
	(MOVE 2 1)(MOVEI 1 (QUOTE DIW-PROPERTY#1))(JCALL 2 (E MAPC))
NIL 


(LAP MAPORCAR SUBR) 
	(PUSH P 1)(PUSH P 2)(EXCH 1 2)(JUMPE 1 G0001)(HLRZ@ 1 1)(CALLF@ 1 2)(JUMPE 1 G0002)
	(MOVEI 1 (QUOTE T))(JRST 0 G0001)
G0002 (HRRZ@ 2 0 P)(MOVE 1 -1 P)(CALL 2 (E MAPORCAR))
G0005 
G0001 (SUB P (C 0 0 2 2))(POPJ P)
NIL 


(LAP IS-ANY-CORNER-OF-WINDOW-WITHIN-THE-POLYGON? SUBR) 
	(JSP 6 SPECBIND)(0 0 (SPECIAL TRIANGLE-LIST))(CALL 0 (E SPLIT-POLYGON-INTO-TRIANGLES))
	(MOVE 3 (SPECIAL YLOW))(MOVE 2 (SPECIAL XLOW))(MOVE 1 (SPECIAL TRIANGLE-LIST))(CALL 3 (E CORNER-WITHIN-A}
NY-TRIANGLE?))(JUMPN 1 G0005)(MOVE 3 (SPECIAL YHIGH))(MOVE 2 (SPECIAL XLOW))(MOVE 1 (SPECIAL TRIANGLE-LIST))
	(CALL 3 (E CORNER-WITHIN-ANY-TRIANGLE?))(JUMPN 1 G0005)(MOVE 3 (SPECIAL YLOW))(MOVE 2 (SPECIAL XHIGH))
	(MOVE 1 (SPECIAL TRIANGLE-LIST))(CALL 3 (E CORNER-WITHIN-ANY-TRIANGLE?))(JUMPN 1 G0005)
	(MOVE 3 (SPECIAL YHIGH))(MOVE 2 (SPECIAL XHIGH))(MOVE 1 (SPECIAL TRIANGLE-LIST))(CALL 3 (E CORNER-WITHIN}
-ANY-TRIANGLE?))(JUMPN 1 G0005)(TDZA 1 1)
G0005 (MOVEI 1 T)(JRST 0 SPECSTR)
NIL 


(LAP WINDOW-IN-OPPOSITE-HALF-PLANE? SUBR) 
	(JSP 6 SPECBIND)(0 0 (SPECIAL X))(0 0 (SPECIAL Y))(MOVEI 2 (QUOTE ENDS))(PUSH P 1)
	(CALL 2 (E GET))(MOVEM 1 (SPECIAL X))(CALL 1 (E CDAR))(CALL 1 (E NCONS))(HLRZ@ 2 (SPECIAL X))
	(HLRZ@ 2 2)(CALL 2 (E XCONS))(PUSH P (C 0 0 (QUOTE NIL)))(PUSH P (C 0 0 (QUOTE NIL)))
	(PUSH P 1)(HRRZ@ 1 (SPECIAL X))(HRRZ@ 1 1)(CALL 1 (E NCONS))(HRRZ@ 2 (SPECIAL X))
	(HLRZ@ 2 2)(CALL 2 (E XCONS))(CALL 1 (E NCONS))(POP P 2)(CALL 2 (E XCONS))(MOVEI 2 (QUOTE POINTS))
	(MOVEM 1 -1 P)(MOVE 1 -2 P)(CALL 2 (E GET))(EXCH 1 -2 P)(CALL 2 (E GET))(MOVEI 2 (QUOTE CORNERS))
	(PUSH P 1)(MOVE 1 (SPECIAL POLYGON))(CALL 2 (E GET))(PUSH P 1)(HLRZ@ 1 -4 P)(POP P 2)
	(MOVEM 1 -3 P)(HRRZ@ 1 0 P)(CALL 2 (E DELETE))(MOVE 2 1)(EXCH 1 -3 P)(CALL 2 (E DELETE))
	(MOVEM 1 (SPECIAL X))(SUB P (C 0 0 1 1))(MOVEI 2 (QUOTE IMAGE))(HLRZ@ 1 1)(CALL 2 (E GET))
	(MOVEM 1 (SPECIAL X))(CALL 1 (E CADR))(MOVEM 1 (SPECIAL Y))(HLRZ@ 1 (SPECIAL X))(MOVEM 1 (SPECIAL X))
	(MOVE 3 -1 P)(MOVE 2 (SPECIAL Y))(CALL 3 (E MMMM))(MOVEM 1 0 P)(MOVE 3 -1 P)(MOVE 2 (SPECIAL YLOW))
	(MOVE 1 (SPECIAL XLOW))(CALL 3 (E MMMM))(MOVE 2 0 P)(CALL 2 (E *TIMES))(CALL 1 (E MINUSP))
	(JUMPE 1 G0028)(MOVE 3 -1 P)(MOVE 2 (SPECIAL YHIGH))(MOVE 1 (SPECIAL XLOW))(CALL 3 (E MMMM))
	(MOVE 2 0 P)(CALL 2 (E *TIMES))(CALL 1 (E MINUSP))(JUMPE 1 G0028)(MOVE 3 -1 P)(MOVE 2 (SPECIAL YLOW))
	(MOVE 1 (SPECIAL XHIGH))(CALL 3 (E MMMM))(MOVE 2 0 P)(CALL 2 (E *TIMES))(CALL 1 (E MINUSP))
	(JUMPE 1 G0028)(MOVE 3 -1 P)(MOVE 2 (SPECIAL YHIGH))(MOVE 1 (SPECIAL XHIGH))(CALL 3 (E MMMM))
	(MOVE 2 0 P)(CALL 2 (E *TIMES))(CALL 1 (E MINUSP))(JUMPN 1 G0027)
G0028 (TDZA 1 1)
G0027 (MOVEI 1 T)(SUB P (C 0 0 3 3))(JRST 0 SPECSTR)
NIL 


(LAP OUTSIDE#1 SUBR) 
	(JSP 6 SPECBIND)(0 1 (SPECIAL POLYGON))(MOVEI 2 (QUOTE XHIGH))(CALL 2 (E GET))(MOVE 2 (SPECIAL XLOW))
	(CALL 2 (E *LESS))(JUMPN 1 G0003)(MOVEI 2 (QUOTE YHIGH))(MOVE 1 (SPECIAL POLYGON))
	(CALL 2 (E GET))(MOVE 2 (SPECIAL YLOW))(CALL 2 (E *LESS))(JUMPN 1 G0003)(MOVEI 2 (QUOTE XLOW))
	(MOVE 1 (SPECIAL POLYGON))(CALL 2 (E GET))(MOVE 2 (SPECIAL XHIGH))(CALL 2 (E *GREAT))
	(JUMPN 1 G0003)(MOVEI 2 (QUOTE YLOW))(MOVE 1 (SPECIAL POLYGON))(CALL 2 (E GET))(MOVE 2 (SPECIAL YHIGH))
	(CALL 2 (E *GREAT))(JUMPE 1 G0002)
G0003 (MOVEI 1 (QUOTE NIL))(JRST 0 G0001)
G0002 (MOVEI 2 (QUOTE XHIGH))(MOVE 1 (SPECIAL POLYGON))(CALL 2 (E GET))(MOVE 2 (SPECIAL XHIGH))
	(CALL 2 (E *LESS))(JUMPE 1 G0012)(MOVEI 2 (QUOTE YHIGH))(MOVE 1 (SPECIAL POLYGON))
	(CALL 2 (E GET))(MOVE 2 (SPECIAL YHIGH))(CALL 2 (E *LESS))(JUMPE 1 G0012)(MOVEI 2 (QUOTE XLOW))
	(MOVE 1 (SPECIAL POLYGON))(CALL 2 (E GET))(MOVE 2 (SPECIAL XLOW))(CALL 2 (E *GREAT))
	(JUMPE 1 G0012)(MOVEI 2 (QUOTE YLOW))(MOVE 1 (SPECIAL POLYGON))(CALL 2 (E GET))(MOVE 2 (SPECIAL YLOW))
	(CALL 2 (E *GREAT))(JUMPE 1 G0012)(MOVE 1 (SPECIAL POLYGON))(CALL 1 (E NCONS))(JRST 0 G0001)
G0012 (CALL 0 (E IS-ANY-CORNER-OF-WINDOW-WITHIN-THE-POLYGON?))(JUMPE 1 G0023)(MOVE 1 (SPECIAL POLYGON))
	(CALL 1 (E NCONS))(JRST 0 G0001)
G0023 (MOVEI 2 (QUOTE EDGES))(MOVE 1 (SPECIAL POLYGON))(CALL 2 (E GET))(EXCH 2 1)(MOVEI 1 (QUOTE WINDOW-IN-OPPOS}
ITE-HALF-PLANE?))(CALL 2 (E MAPORCAR))(JUMPE 1 G0026)(MOVEI 1 (QUOTE NIL))(JRST 0 G0001)
G0026 (MOVE 1 (SPECIAL POLYGON))(CALL 1 (E NCONS))
G0029 
G0001 (JRST 0 SPECSTR)
NIL 


(LAP OUTSIDE SUBR) 
	(MOVE 2 (SPECIAL POLYGON-LIST))(MOVEI 1 (QUOTE OUTSIDE#1))(CALL 2 (E MAPPENDCAR))
	(MOVEM 1 (SPECIAL POLYGON-LIST))(POPJ P)
NIL 


(LAP TWO-INTERSECTING-PLANES? SUBR) 
	(MOVE 1 (SPECIAL POLYGON-LIST))(JUMPN 1 G0002)(MOVE 1 (SPECIAL SURROUNDERS-LIST))
	(CALL 1 (E LENGTH))(MOVEI 2 (QUOTE 2))(CALL 2 (E EQUAL))(JUMPN 1 G0001)
G0002 (TDZA 1 1)
G0001 (MOVEI 1 T)(POPJ P)
NIL 


(LAP FORM-NEW-EDGE SUBR) 
	(HLRZ@ 1 (SPECIAL SURROUNDERS-LIST))(PUSH P 1)(HRRZ@ 1 (SPECIAL SURROUNDERS-LIST))
	(HLRZ@ 1 1)(MOVEI 2 (QUOTE EDGEZ))(PUSH P 1)(MOVE 1 -1 P)(CALL 2 (E GET))(PUSH P (C 0 0 (QUOTE NIL)))
	(PUSH P 1)(MOVE 1 -2 P)(CALL 2 (E GET))(EXCH 2 1)(POP P 1)(CALL 2 (E SET-INTERSECTION))
	(MOVEM 1 0 P)(HRRZ@ 1 (SPECIAL SURROUNDERS-LIST))(MOVEM 1 (SPECIAL POLYGON-LIST))
	(MOVE 1 0 P)(JUMPE 1 G0011)(CALL 0 (E CLIP2))(MOVEI 1 (QUOTE NIL))(JRST 0 G0001)
G0011 (CALL 0 (E GENSYM))(CALL 1 (E INTERN))(MOVEI 2 (QUOTE EDGEZ))(MOVEM 1 0 P)(MOVE 1 -2 P)
	(CALL 2 (E GET))(MOVE 2 0 P)(CALL 2 (E XCONS))(MOVEI 3 (QUOTE EDGEZ))(MOVE 2 1)(MOVE 1 -2 P)
	(CALL 3 (E PUTPROP))(MOVEI 2 (QUOTE EDGEZ))(MOVE 1 -1 P)(CALL 2 (E GET))(MOVE 2 0 P)
	(CALL 2 (E XCONS))(MOVEI 3 (QUOTE EDGEZ))(MOVE 2 1)(MOVE 1 -1 P)(CALL 3 (E PUTPROP))
	(MOVE 2 -1 P)(MOVE 1 -2 P)(CALL 2 (E ENDPOINTS))(MOVEI 3 (QUOTE ENDS))(MOVE 2 1)(MOVE 1 0 P)
	(CALL 3 (E PUTPROP))(CALL 0 (E CLIP2))(MOVEI 1 (QUOTE NIL))
G0001 (SUB P (C 0 0 3 3))(POPJ P)
NIL 


(LAP TWO-POLY-WITH-COMMON-EDGE SUBR) 
	(MOVE 1 (SPECIAL ABOVE-LIST))(CALL 1 (E LENGTH))(MOVEI 2 (QUOTE 2))(CALL 2 (E EQUAL))
	(JUMPE 1 G0002)(MOVE 1 (SPECIAL SURROUNDERS-LIST))(CALL 1 (E LENGTH))(MOVEI 2 (QUOTE 2))
	(CALL 2 (E *LESS))(JUMPE 1 G0002)(MOVE 1 (SPECIAL POLYGON-LIST))(CALL 1 (E LENGTH))
	(MOVEI 2 (QUOTE 2))(CALL 2 (E EQUAL))(JUMPE 1 G0002)(MOVEI 2 (QUOTE EDGES))(HLRZ@ 1 (SPECIAL ABOVE-LIST)}
)(CALL 2 (E GET))(PUSH P 1)(HRRZ@ 1 (SPECIAL ABOVE-LIST))(HLRZ@ 1 1)(CALL 2 (E GET))(EXCH 2 1)
	(POP P 1)(CALL 2 (E SET-INTERSECTION))(CALL 1 (E LENGTH))(MOVEI 2 (QUOTE 1))(CALL 2 (E EQUAL))
	(JUMPN 1 G0001)
G0002 (TDZA 1 1)
G0001 (MOVEI 1 T)(POPJ P)
NIL 


(LAP ENDS-PROPERTY#1 SUBR) 
	(MOVEI 2 (QUOTE POINTS))(PUSH P 1)(CALL 2 (E GET))(MOVEI 2 (QUOTE IMAGE))(PUSH P 1)
	(HLRZ@ 1 1)(CALL 2 (E GET))(PUSH P 1)(HRRZ@ 1 -1 P)(CALL 2 (E GET))(MOVEI 2 (QUOTE 0.0))
	(MOVEM 1 -1 P)(HLRZ@ 1 0 P)(CALL 2 (E *PLUS))(MOVEI 2 (QUOTE 0.0))(PUSH P 1)(HRRZ@ 1 -1 P)
	(HLRZ@ 1 1)(CALL 2 (E *PLUS))(POP P 2)(CALL 2 (E XCONS))(MOVEI 2 (QUOTE 0.0))(MOVEM 1 0 P)
	(HLRZ@ 1 -1 P)(CALL 2 (E *PLUS))(MOVEI 2 (QUOTE 0.0))(PUSH P 1)(HRRZ@ 1 -2 P)(HLRZ@ 1 1)
	(CALL 2 (E *PLUS))(POP P 2)(CALL 2 (E XCONS))(POP P 2)(CALL 2 (E XCONS))(MOVEI 3 (QUOTE ENDS))
	(MOVE 2 1)(MOVE 1 -1 P)(CALL 3 (E PUTPROP))(MOVE 3 (SPECIAL VIEWNAME))(MOVEI 2 (QUOTE NIL))
	(EXCH 1 -1 P)(CALL 3 (E PUTPROP))(MOVEI 1 (QUOTE NIL))(SUB P (C 0 0 2 2))(POPJ P)
NIL 


(LAP ENDS-PROPERTY SUBR) 
	(JSP 6 SPECBIND)(0 1 (SPECIAL POLYGON))(MOVEI 2 (QUOTE EDGES))(CALL 2 (E GET))(EXCH 2 1)
	(MOVEI 1 (QUOTE ENDS-PROPERTY#1))(CALL 2 (E MAPC))(JRST 0 SPECSTR)
NIL 


(LAP INITIALIZE-CIRCUMSCRIBED-RECTANGLE-PROPERTY#1 SUBR) 
	(MOVEI 2 (QUOTE IMAGE))(JCALL 2 (E GET))
NIL 


(LAP INITIALIZE-CIRCUMSCRIBED-RECTANGLE-PROPERTY SUBR) 
	(JSP 6 SPECBIND)(0 1 (SPECIAL POLYGON))(MOVEI 2 (QUOTE CORNERS))(CALL 2 (E GET))(EXCH 2 1)
	(MOVEI 1 (QUOTE INITIALIZE-CIRCUMSCRIBED-RECTANGLE-PROPERTY#1))(CALL 2 (E MAPCAR))
	(MOVE 2 1)(PUSH P 1)(MOVEI 1 (QUOTE CAR))(CALL 2 (E MAPCAR))(MOVE 2 0 P)(PUSH P 1)
	(MOVEI 1 (QUOTE CADR))(CALL 2 (E MAPCAR))(MOVEM 1 -1 P)(MOVE 1 0 P)(PUSH P (SPECIAL POLYGON))
	(CALL 1 (E LEAST))(MOVEI 3 (QUOTE XLOW))(MOVE 2 1)(POP P 1)(CALL 3 (E PUTPROP))(MOVE 1 -1 P)
	(PUSH P (SPECIAL POLYGON))(CALL 1 (E LEAST))(MOVEI 3 (QUOTE YLOW))(MOVE 2 1)(POP P 1)
	(CALL 3 (E PUTPROP))(POP P 1)(PUSH P (SPECIAL POLYGON))(CALL 1 (E MOST))(MOVEI 3 (QUOTE XHIGH))
	(MOVE 2 1)(POP P 1)(CALL 3 (E PUTPROP))(POP P 1)(PUSH P (SPECIAL POLYGON))(CALL 1 (E MOST))
	(MOVEI 3 (QUOTE YHIGH))(MOVE 2 1)(POP P 1)(CALL 3 (E PUTPROP))(MOVEI 1 (QUOTE NIL))
	(JRST 0 SPECSTR)
NIL 


(LAP INITIALIZE-PLANE-OF-POLYGON-PROPERTIES SUBR) 
	(JSP 6 SPECBIND)(0 1 (SPECIAL POLYGON))(MOVEI 2 (QUOTE CORNERS))(CALL 2 (E GET))(MOVEI 2 (QUOTE IMAGE))
	(PUSH P 1)(HLRZ@ 1 1)(CALL 2 (E GET))(PUSH P 1)(HRRZ@ 1 -1 P)(HLRZ@ 1 1)(CALL 2 (E GET))
	(PUSH P 1)(HRRZ@ 1 -2 P)(CALL 1 (E CADR))(CALL 2 (E GET))(MOVE 3 1)(POP P 2)(MOVE 1 0 P)
	(CALL 3 (E KRAMER))(MOVEI 3 (QUOTE A))(HLRZ@ 2 1)(MOVEM 1 0 P)(MOVE 1 (SPECIAL POLYGON))
	(CALL 3 (E PUTPROP))(MOVEI 3 (QUOTE B))(HRRZ@ 2 0 P)(HLRZ@ 2 2)(MOVE 1 (SPECIAL POLYGON))
	(CALL 3 (E PUTPROP))(MOVEI 3 (QUOTE C))(HRRZ@ 2 0 P)(HRRZ@ 2 2)(HLRZ@ 2 2)(MOVE 1 (SPECIAL POLYGON))
	(CALL 3 (E PUTPROP))(MOVEI 1 (QUOTE NIL))(SUB P (C 0 0 2 2))(JRST 0 SPECSTR)
NIL 


(LAP SUPERSPLICE2#1 SUBR) 
	(MOVE 2 (SPECIAL VIEWNAME))(PUSH P 1)(CALL 2 (E GET))(CALL 1 (E ONCEONLY))(MOVE 2 1)
	(MOVEI 1 (QUOTE ORDLOW))(CALL 2 (E MAPCAR))(MOVEI 2 (QUOTE NIL))(PUSH P 1)(MOVEI 1 (QUOTE NIL))
	(CALL 2 (E SET))(PUSH P (C 0 0 (QUOTE NIL)))
G0001 (MOVE 1 -1 P)(JUMPN 1 G0010)(MOVE 3 (SPECIAL VIEWNAME))(MOVE 2 0 P)(MOVE 1 -2 P)(CALL 3 (E PUTPROP))
	(JRST 0 G0002)
G0010 (MOVE 2 0 P)(HLRZ@ 1 -1 P)(CALL 2 (E SPLICE2))(MOVEM 1 0 P)(HRRZ@ 1 -1 P)(MOVEM 1 -1 P)
	(JRST 0 G0001)
G0002 (SUB P (C 0 0 3 3))(POPJ P)
NIL 


(LAP SUPERSPLICE2 SUBR) 
	(MOVEI 2 (QUOTE EDGEZ))(PUSH P 1)(CALL 2 (E GET))(MOVEI 2 (QUOTE EDGES))(EXCH 1 0 P)
	(CALL 2 (E GET))(EXCH 2 1)(POP P 1)(CALL 2 (E *APPEND))(MOVE 2 1)(MOVEI 1 (QUOTE SUPERSPLICE2#1))
	(JCALL 2 (E MAPC))
NIL 


(LAP SUPERSPLICE1#1 SUBR) 
	(MOVE 2 (SPECIAL VIEWNAME))(PUSH P 1)(CALL 2 (E GET))(CALL 1 (E ONCEONLY))(MOVE 2 1)
	(MOVEI 1 (QUOTE ORDLOW))(CALL 2 (E MAPCAR))(MOVEI 2 (QUOTE NIL))(PUSH P 1)(MOVEI 1 (QUOTE NIL))
	(CALL 2 (E SET))(PUSH P (C 0 0 (QUOTE NIL)))
G0001 (MOVE 1 -1 P)(JUMPN 1 G0010)(MOVE 3 (SPECIAL VIEWNAME))(MOVE 2 0 P)(MOVE 1 -2 P)(CALL 3 (E PUTPROP))
	(JRST 0 G0002)
G0010 (MOVE 2 0 P)(HLRZ@ 1 -1 P)(CALL 2 (E SPLICE1))(MOVEM 1 0 P)(HRRZ@ 1 -1 P)(MOVEM 1 -1 P)
	(JRST 0 G0001)
G0002 (SUB P (C 0 0 3 3))(POPJ P)
NIL 


(LAP SUPERSPLICE1 SUBR) 
	(MOVEI 2 (QUOTE EDGEZ))(PUSH P 1)(CALL 2 (E GET))(MOVEI 2 (QUOTE EDGES))(EXCH 1 0 P)
	(CALL 2 (E GET))(EXCH 2 1)(POP P 1)(CALL 2 (E *APPEND))(MOVE 2 1)(MOVEI 1 (QUOTE SUPERSPLICE1#1))
	(JCALL 2 (E MAPC))
NIL 


(LAP WARNOCK SUBR) 
	(JSP 6 SPECBIND)(0 1 (SPECIAL ZZZZZZ))(0 2 (SPECIAL XLOW))(0 3 (SPECIAL XHIGH))(0 4 (SPECIAL YLOW))
	(0 5 (SPECIAL YHIGH))(0 0 (SPECIAL POLYGON-LIST))(0 0 (SPECIAL SURROUNDERS-LIST))
	(0 0 (SPECIAL ABOVE-LIST))(HLRZ@ 1 1)(MOVEM 1 (SPECIAL POLYGON-LIST))(HRRZ@ 1 (SPECIAL ZZZZZZ))
	(MOVEM 1 (SPECIAL SURROUNDERS-LIST))(CALL 0 (E OUTSIDE))(MOVEI 1 (QUOTE A))(CALL 1 (E PRINC))
	(CALL 0 (E FORCE))(CALL 0 (E DIW-PROPERTY))(CALL 0 (E SURROUND))(CALL 0 (E HIDE-POLY))
	(CALL 0 (E ABOVE))(PUSH P (C 0 0 (QUOTE NIL)))(PUSH P (C 0 0 (QUOTE NIL)))(CALL 0 (E TRIVAIL))
	(JUMPE 1 G0015)(JRST 0 G0014)
G0015 (CALL 0 (E SIMPLE?))(JUMPE 1 G0017)(CALL 0 (E CLIP))(JRST 0 G0014)
G0017 (CALL 0 (E TWO-POLY-WITH-COMMON-EDGE))(JUMPE 1 G0020)(CALL 0 (E CLIP))(JRST 0 G0014)
G0020 (CALL 0 (E TWO-INTERSECTING-PLANES?))(JUMPE 1 G0023)(CALL 0 (E FORM-NEW-EDGE))(JRST 0 G0014)
G0023 (CALL 0 (E SMALL?))(JUMPE 1 G0026)(CALL 0 (E UNRESOLVED))(JRST 0 G0014)
G0026 (JRST 0 G0001)
G0014 (MOVEI 1 (QUOTE NIL))(JRST 0 G0002)
G0001 (MOVE 2 (SPECIAL XHIGH))(MOVE 1 (SPECIAL XLOW))(CALL 2 (E *PLUS))(MOVEI 2 (QUOTE 2))
	(CALL 2 (E *QUO))(MOVE 2 (SPECIAL YHIGH))(MOVEM 1 0 P)(MOVE 1 (SPECIAL YLOW))(CALL 2 (E *PLUS))
	(MOVEI 2 (QUOTE 2))(CALL 2 (E *QUO))(MOVE 2 (SPECIAL SURROUNDERS-LIST))(MOVEM 1 -1 P)
	(MOVE 1 (SPECIAL POLYGON-LIST))(CALL 2 (E CONS))(MOVE 5 (SPECIAL YHIGH))(MOVE 4 -1 P)
	(MOVE 3 (SPECIAL XHIGH))(MOVE 2 0 P)(CALL 5 (E WARNOCK))(MOVE 2 (SPECIAL SURROUNDERS-LIST))
	(MOVE 1 (SPECIAL POLYGON-LIST))(CALL 2 (E CONS))(MOVE 5 (SPECIAL YHIGH))(MOVE 4 -1 P)
	(MOVE 3 0 P)(MOVE 2 (SPECIAL XLOW))(CALL 5 (E WARNOCK))(MOVE 2 (SPECIAL SURROUNDERS-LIST))
	(MOVE 1 (SPECIAL POLYGON-LIST))(CALL 2 (E CONS))(MOVE 5 -1 P)(MOVE 4 (SPECIAL YLOW))
	(MOVE 3 0 P)(MOVE 2 (SPECIAL XLOW))(CALL 5 (E WARNOCK))(MOVE 2 (SPECIAL SURROUNDERS-LIST))
	(MOVE 1 (SPECIAL POLYGON-LIST))(CALL 2 (E CONS))(MOVE 5 -1 P)(MOVE 4 (SPECIAL YLOW))
	(MOVE 3 (SPECIAL XHIGH))(MOVE 2 0 P)(CALL 5 (E WARNOCK))(MOVEI 1 (QUOTE NIL))
G0002 (SUB P (C 0 0 2 2))(JRST 0 SPECSTR)
NIL 


(LAP INITPOLY SUBR) 
	(CLEARM 1 (SPECIAL INTER))(CLEARM 1 (SPECIAL UNRES))(MOVEI 3 (QUOTE EDGEZ))(MOVEI 2 (QUOTE NIL))
	(PUSH P 1)(CALL 3 (E PUTPROP))(MOVE 1 0 P)(CALL 1 (E INITIALIZE-PLANE-OF-POLYGON-PROPERTIES))
	(MOVE 1 0 P)(CALL 1 (E INITIALIZE-CIRCUMSCRIBED-RECTANGLE-PROPERTY))(POP P 1)(CALL 1 (E ENDS-PROPERTY))
	(MOVEI 1 (QUOTE NIL))(POPJ P)
NIL 


(LAP HIDDEN-LINE SUBR) 
	(JSP 6 SPECBIND)(0 1 (SPECIAL VIEWNAME))(0 2 (SPECIAL POLYGON-LIST))(MOVEI 1 (QUOTE INITPOLY))
	(CALL 2 (E MAPC))(MOVE 1 (SPECIAL POLYGON-LIST))(CALL 1 (E NCONS))(MOVEI 5 (QUOTE 512.0))
	(MOVEI 4 (QUOTE -512.0))(MOVE 3 5)(MOVE 2 4)(CALL 5 (E WARNOCK))(MOVE 2 (SPECIAL POLYGON-LIST))
	(MOVEI 1 (QUOTE SUPERSPLICE2))(CALL 2 (E MAPC))(MOVE 2 (SPECIAL POLYGON-LIST))(MOVEI 1 (QUOTE SUPERSPLIC}
E1))(CALL 2 (E MAPC))(MOVEI 1 (QUOTE NIL))(JRST 0 SPECSTR)
NIL